package com.py.credit.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.py.credit.entity.Column;
import com.py.credit.entity.common.OptionalColumn;
import com.py.framework.core.common.Page;

public interface ColumnService {

	List<Column> getListByTableId(int tableId);

	List<Column> getListByTableId1(Integer tableId, Page page);

	void add(List<Column> columns);

	void insert(Column column);

	void update(Column column);

	void del(List<Column> columns);

	List<Column> getList(String metricCode, String metricName);

	void updateColumn(List<Column> addColumns, List<Column> updateColumns, List<Column> delColumns);

	List<String> getColumnENByTableId(int tableName);

	List<OptionalColumn> getOptionalColumnByTableId(int tableId);

	List<HashMap<String, String>> getColumn(int tableId);

	/**
	 * @param tableId
	 * @return
	 */
	List<Column> getColumnNodesFromComonContent(String tableId);

	/**
	 * @param tableId
	 * @return
	 * @Function 获取表中所有时间类型字段
	 * @FileName ColumnService.java
	 * @MethodName getAllTimeMetricByTableId
	 * @Date 2018年6月12日 上午10:46:27
	 * @Author Min DongXv
	 */
	List<Map<String, String>> getAllTimeMetricByTableId(Long tableId);

	String getValueBySql(String sql, String tybm);

	/**
	 * 功能描述: 指标sql校验
	 *
	 * @param sql 校验sql
	 * @return 校验结果
	 * @author YaoS
	 * @date 19/4/25 17:24
	 */
	String checkSql(String sql);

	/**
	 * 功能描述: 获取tybm
	 *
	 * @param mainName 主体名称
	 * @return 校验结果
	 * @author YaoS
	 * @date 19/4/25 17:24
	 */
	String selectTybm(String mainName);
}
